From: Juergen Gross Date: Wed, 16 Oct 2013 10:26:48 +0000 (+0200) Subject: credit: unpause parked vcpu before destroying it X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6151 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=d38a668b6ef8c84d1d3fda9947ffb0056d01fe3a;p=xen.git credit: unpause parked vcpu before destroying it A capped out vcpu must be unpaused in case of moving it to another cpupool, otherwise it will be paused forever. Signed-off-by: Juergen Gross Acked-by: George Dunlap --- diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c index 192c653937..e69d794a22 100644 --- a/xen/common/sched_credit.c +++ b/xen/common/sched_credit.c @@ -929,6 +929,12 @@ csched_vcpu_remove(const struct scheduler *ops, struct vcpu *vc) SCHED_STAT_CRANK(vcpu_destroy); + if ( test_and_clear_bit(CSCHED_FLAG_VCPU_PARKED, &svc->flags) ) + { + SCHED_STAT_CRANK(vcpu_unpark); + vcpu_unpause(svc->vcpu); + } + if ( __vcpu_on_runq(svc) ) __runq_remove(svc);